package persistencia;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Vector;

import model.Proveedor;

public class AdministradorPersistenciaProveedores extends AdministradorPersistencia {
	
	private static AdministradorPersistenciaProveedores instancia;
	private String querySelectAll = "select * from proveedores";
	private String queryBusqueda = "select * from proveedores where cuit=?";
	//private String queryVista = "select cuit,razonSocial from proveedores";
	
	private AdministradorPersistenciaProveedores(){

	}
	
	public static AdministradorPersistenciaProveedores getInstancia(){
		if (instancia == null){
			instancia = new AdministradorPersistenciaProveedores();
		}
		return instancia;
	}
	
	public Proveedor obtenerProveedor(long cuit) throws Exception {
		// TODO Auto-generated method stub
		Proveedor proveedor = null;
		Connection con = super.getConnection();
		PreparedStatement ps = con.prepareStatement(queryBusqueda);
		ps.setLong(1, cuit);
		ResultSet res = ps.executeQuery();
		while (res.next()){
			proveedor = new Proveedor(res.getString("razonSocial"),cuit,res.getInt("telefono"),res.getString("email"));
		}
		con.close();
		return proveedor;
	}

	public Vector<Proveedor> obtenerProveedores() throws Exception {
		// Este metodo es para inicializar el vector proveedores del Sistema.
		Vector<Proveedor> vector = new Vector<Proveedor>();
		Connection con = super.getConnection();
		PreparedStatement ps = con.prepareStatement(querySelectAll);
		ResultSet res = ps.executeQuery();
		while (res.next()){
			Proveedor prov = new Proveedor(res.getString("razonSocial"),res.getLong("cuit"),res.getInt("telefono"),res.getString("email"));
			vector.add(prov);
		}
		con.close();
		return vector;
	}
	/* Este metodo solo sera necesario si dejamos de cargar los datos al inicio del programa */
	/*
	public Vector<ProveedorView> obtenerVistaProveedores() throws Exception {
		Vector<ProveedorView> lista = new Vector<ProveedorView>();
		Connection con = super.getConnection();
		PreparedStatement ps = con.prepareStatement(queryVista);
		ResultSet res = ps.executeQuery();
		while (res.next()){
			ProveedorView p = new ProveedorView(res.getString("razonSocial"),res.getLong("cuit"));
			lista.add(p);
		}
		return lista;
	}
	*/


}
